Visual group interface for group connectivity

ABSTRACT

A communication icon represents a shared connection allowing members of an online group to interact with each other and participate in different activities together. The icon through which the group interacts resides on each group member&#39;s desktop and has many attributes including click activation modes and drag and drop functionality. The icon provides each group member with a representation of the group&#39;s shared relationship. Any group member can change the group icon and have that change propagated to the computers of the other members of the group. The icon can be activated for both non-verbal and verbal communications as well as activity sharing. Online members of the group are kept apprised of the group&#39;s status and activities via a displayed status bar.

TECHNICAL FIELD

[0001] This invention relates generally to group messaging and, moreparticularly, relates to a desktop connection to a group thatfacilitates group communication and activities.

BACKGROUND OF THE INVENTION

[0002] As computer technology and the Internet have taken onincreasingly important roles in people's lives, Internet users arebeginning to demand not only enhanced productivity, but also enhancedrecreational activities and a greater sense of community. A variety ofprograms and services have been created to meet these demands, includingInternet chatting and instant messaging, streaming audio, file sharingcapabilities and multi-player network games. Unfortunately, while theseapplications allow users to communicate in a variety of ways withfriends and peers, they fail to provide users with a sense of communityand a shared relationship.

[0003] A number of instant messaging programs are now commerciallyavailable, and their popularity is indicative of consumers' need toinstantly communicate with friends and acquaintances. Differentapplications provide different levels of functionality, but most ofthese programs allow a user to: send and receive text messages to/from aremote user, send and receive files to/from a remote user, and initiategroup chatting sessions to which the user can then add participants.Through these programs, a user can discover whether or not a friend isavailable for communication, and, if so, trade text messages back andforth. These programs thereby give the user a sense of constantconnectivity, but through a medium requiring far less attention than aphone for example. While these applications are in many ways successfulmediums for communication, they fail to provide participants with asense of community or context within which their relationship canevolve. While many chatting programs allow contacts to be grouped into“buddy lists,” this set of contacts does not necessarily know of eachother's existence nor do they necessarily share activities with eachother. In other words, the only sense of community is imposed by oneuser onto his or her contacts without permission, or the otherparticipants' knowledge. Furthermore, this grouping of contacts is amere listing and does not facilitate group activities or interaction,further impeding the development of a sense of community.

[0004] Other currently available recreationally oriented applicationsinclude file-sharing programs. These programs enable users to downloadand upload (and thereby share) files with members of the public(normally whoever is running the same program at that time). When theprogram is running, these users may often also have the opportunity tochat with other users of the service, but an intimate persistentrelationship between a particular user and a small select group of usersis lacking. Unlike physical relationships, the “community” in thissetting is quite large (normally encompassing thousands of users) andnon-selective. A user cannot easily choose with whom to interact.Moreover, a user's relationship with other users is necessarily limitedto file sharing and chatting in a public room, thereby limiting otherforms of interaction that might be desirable.

[0005] Finally, multi-player games that allow users at home to play withand against remote users are becoming ever more popular. Fromtraditional games of chess involving two opponents and a number ofobservers to “first-person shooters” involving dozens of opponents,there are many possible venues of interaction, and many modem games giveusers the ability to chat concurrently. Participation in these games,and the knowledge that other players share at least this interest withthe user, may give users a slightly greater sense of community than waspreviously available. Many games provide the capability of formingprivate arenas in which a group can play and chat together. However, theusers' sense of community is stunted by the extent to which theirinteractions with each other are limited. In particular, users may forma group to game with at one site, but continually have to set up thegroup each time they want to play. The group is thus not persistent, noris it mobile. That is, the group cannot be taken intact to otheractivities like another game or even an online journal. Each time, theuser has to form the group.

[0006] While users of gaming environments are able to play games witheach other and chat at the same time, they typically cannot interact inother ways. They are also typically unaware of the other users' presenceunless they interact through another chatting program. In addition, inorder to interact at all, the players must be involved in anattention-grabbing game, making less intrusive activity sharingimpossible. Thus, while multi-player games are successful at creating agaming community, they are unsuccessful at creating the relaxed, socialcommunity that many consumers might hope to form.

[0007] There is a need for a group communication application throughwhich an intimate group of users can interact with each other in anynumber of ways, and through which users can depend on a constantconnection to a small select group of friends who will share theseactivities with each other. Such a system would give the Internetgeneration a sense of constant social connection and a sharedrelationship with their friends similar in many ways to those developedin the physical world.

SUMMARY OF THE INVENTION

[0008] The present invention is directed to a group experiencefacilitated by one or more icons, such as on a computer desktop,computer display bar or other display space for holding one or moreicons, gaming system display, cell phone display, PDA display, or anyother display on any device capable of communication over a network, aswell as the underlying functionality associated with the icon or iconsthat represents a shared connection for a small group of users throughwhich the online members of the group can interact with each other andjointly participate in different activities.

[0009] The group that communicates through this shared connection isformed through a process that mimics non-Internet based socialinteraction. Any member of a group can invite his or her friends andacquaintances to join the group, and those users are free to join asthey please. However, only those users invited into the group can join,and there is no public, unrestricted access. Groups are not published orpublicized, and are hence made known to a particular potentialparticipant via a communication, formal or informal, online or offline,originating from a current group member. If a particular member of thegroup dislikes some other member, he or she cannot “kick” that othermember out of the group. However, as in most social settings, any memberis free to leave the group. This communal balancing act has been provenin research to drive socialization and a sense of presence, and tofoster a feeling of community and shared experience among group members.Moreover, these persistent groups mimic more traditional socialinteractions where groups of friends participate in a variety ofactivities with each other, and are designed to provide an alternativeto more individualized, one-on-one communications.

[0010] The core application through which the group interacts resides oneach group member's desktop (or other device display area) and has manyof the attributes of normal desktop icons. Since it appears as an icon,the application provides a highly visible, immediate, and uncomplicatedavenue for communication, and also provides the group with a graphicalrepresentation of their shared relationship. In one implementation, anygroup member can change the particular icon displayed on his or herdisplay and that change will be propagated to the other members of thegroup.

[0011] Using this desktop icon, each member of the group is able tocommunicate and interact with the group as a whole. In particular, theapplication provides for non-verbal and verbal communications as well asactivity sharing. Supported functionality includes the ability of anymember of the group to double-click on the icon, in order to send aunique verbal or non-verbal greeting to each member of the group. Thisaction sends a sound, image and/or animation to each member of thegroup. Members of the group can also participate in more traditionalactivities, such as chatting and instant messaging, as well as filesharing and game playing. Significantly, the same group is persistentthrough this range of activities, allowing the group to further developthe desired sense of community through a shared set of experiences.

[0012] Online members of the group are also kept apprised of the group'sactivities and communications. For example, “greetings” can be sent toand displayed on the screen of every member of the group, regardless ofwhat applications are running in the foreground. Other applicationmessages or functions, like chat invitations or file send activities,are more fundamentally intrusive, calling for the group member'sattention. Finally, regardless of whether a group member was initiallyinvited to join in an activity (if, for example, that member wasoff-line when the activity began), group status and activitynotifications are displayed along with the desktop icon, and, byinteracting with the application, the user can join whatever groupactivity is in progress. This constant and intrusive connection with thegroup transforms the typical chatting experience into a richer, fullersocial interaction.

[0013] Additional features and advantages of the invention will be madeapparent from the following detailed description of illustrativeembodiments that proceeds with reference to the accompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] While the appended claims set forth the features of the presentinvention with particularity, the invention, together with its objectsand advantages, may be best understood from the following detaileddescription taken in conjunction with the accompanying drawings ofwhich:

[0015]FIG. 1A is a block diagram generally illustrating an exemplarycomputer system usable to implement an embodiment of the invention;

[0016]FIG. 1B is a block diagram illustrating an exemplary peer-to-peernetwork for facilitating communications in an embodiment of theinvention;

[0017]FIG. 2 is a collection of screen shots illustrating desktops ofgroup members according to an embodiment of the invention;

[0018]FIG. 3 is a series of screen shots illustrating different desktopicons for implementing an embodiment of the present invention;

[0019]FIG. 4 is a screen shot illustrating a result of a right mouseclick on a group icon within a user interface according to an embodimentof the invention;

[0020]FIG. 5 is a table illustrating the different exemplary imagesdisplayed according to actions executed upon the desktop icon accordingto an embodiment of the invention;

[0021]FIG. 6A is a flowchart illustrating a greeting communicationaccording to an embodiment of the present invention;

[0022]FIG. 6B is a block diagram illustrating both an exemplarypeer-to-peer network and an exemplary central server network throughwhich a greeting can be sent according to an embodiment of the presentinvention;

[0023]FIG. 7 is a screen shot illustrating a group chat sessioninitiated via a group icon in accordance with an embodiment of thepresent invention;

[0024]FIG. 8 is a screen shot illustrating a simultaneous group audiosharing activity initiated via a group icon in accordance with anembodiment of the present invention;

[0025]FIG. 9 is a flowchart illustrating a file share activity accordingto an embodiment of the present invention;

[0026]FIG. 10 is a flowchart illustrating the display of a greetingnotification according to an embodiment of the invention;

[0027]FIG. 11 is a screen shot illustrating a file transfer requestnotification according to an embodiment of the present invention; and

[0028]FIG. 12 is a screen shot illustrating the group statusnotification resident on the desktop, and the rollover functionality ofthe icon according to an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0029] Turning to the drawings, wherein like reference numerals refer tolike elements, the invention is described hereinafter in the context ofa computing environment. Although it is not required for practicing theinvention, the invention is described as it is implemented bycomputer-executable instructions, such as program modules, that areexecuted by a Personal Computer (PC). Generally, program modules includeroutines, programs, objects, components, data structures and the likethat perform particular tasks or implement particular abstract datatypes.

[0030] The invention may be implemented in computer systemconfigurations other than a PC. For example, the invention may berealized in hand-held devices, mobile phones, multi-processor systems,microprocessor-based or programmable consumer electronics, network PCs,minicomputers, mainframe computers and the like, including any devicecapable of both visual display and network communication. The inventionmay also be practiced in distributed computing environments, where tasksare performed by remote processing devices that are linked through acommunications network. In a distributed computing environment, programmodules may be located in both local and remote memory storage devices.

[0031] Thus, although the following detailed description of theinvention is set forth in the context of an exemplary general-purposecomputing device in the form of a conventional PC 20, it will beunderstood that the invention is preferably incorporated into many typesof computing environments as suggested above.

[0032] Before describing the invention in detail, the computingenvironment in which the invention operates is described in connectionwith FIG. 1A. The PC 20 includes a processing unit 21, a system memory22, and a system bus 23 that couples various system components includingthe system memory to the processing unit 21. The system bus 23 may beany of several types of bus structures including a memory bus or memorycontroller, a peripheral bus, and a local bus using any of a variety ofbus architectures. The system memory includes read only memory (ROM) 24and random access memory (RAM) 25. A basic input/output system (BIOS)26, containing the basic routines that help to transfer informationbetween elements within the PC 20, such as during start-up, is stored inROM 24. The PC 20 further includes a hard disk drive 27 for reading fromand writing to a hard disk 60, a magnetic disk drive 28 for reading fromor writing to a removable magnetic disk 29, and an optical disk drive 30for reading from or writing to a removable optical disk 31 such as a CDROM or other optical media.

[0033] The hard disk drive 27, magnetic disk drive 28, and optical diskdrive 30 are connected to the system bus 23 by a hard disk driveinterface 32, a magnetic disk drive interface 33, and an optical diskdrive interface 34, respectively. The drives and their associatedcomputer-readable media provide nonvolatile storage of computer readableinstructions, data structures, program modules and other data for the PC20. Although the exemplary environment described herein employs a harddisk 60, a removable magnetic disk 29, and a removable optical disk 31,it will be appreciated by those skilled in the art that other types ofcomputer readable media which can store data that is accessible by acomputing device, such as magnetic cassettes, flash memory cards,digital video disks, Bernoulli cartridges, random access memories, readonly memories, and the like may also be used in the exemplary operatingenvironment.

[0034] A number of program modules may be stored on the hard disk 60,magnetic disk 29, optical disk 31, ROM 24 or RAM 25, including anoperating system 35, one or more applications programs 36, other programmodules 37, and program data 38. A user may enter commands andinformation into the PC 20 through input devices such as a keyboard 40and a pointing device 42. Other input devices (not shown) may include amicrophone, joystick, game pad, satellite dish, scanner, or the like.These and other input devices are often connected to the processing unit21 through a serial port interface 46 that is coupled to the system bus,but may be connected by other interfaces, such as a parallel port, gameport or a universal serial bus (USB). A monitor 47 or other type ofdisplay device is also connected to the system bus 23 via an interface,such as a video adapter 48. In addition to the monitor, PCs typicallyinclude other peripheral output devices, not shown, such as speakers andprinters.

[0035] The PC 20 operates in a networked environment using fixed ortransient logical connections to one or more remote computers, such as aremote computer 49. The remote computer 49 may be another PC, a server,a router, a network PC, a peer device or other common network node, orany other device type such as any of those mentioned elsewhere herein,and typically includes many or all of the elements described aboverelative to the PC 20, although there is no such requirement, and only amemory storage device 50 has been illustrated in FIG. 1A. The logicalconnections depicted in FIG. 1A include a local area network (LAN) 51and a wide area network (WAN) 52. Such networking environments arecommonplace in offices, enterprise-wide computer networks, intranets andthe Internet.

[0036] When used in a LAN networking environment, the PC 20 is connectedto the local network 51 through a network interface or adapter 53. Whenused in a WAN networking environment, the PC 20 typically includes amodem 54 or other means for establishing communications over the WAN 52.The modem 54, which may be internal or external, is connected to thesystem bus 23 via the serial port interface 46. Program modules depictedrelative to the PC 20, or portions thereof, may be stored in the remotememory storage device. It will be appreciated that the networkconnections shown are exemplary and other means of establishing acommunications link between the computers may be used. Additionally, theinvention is not intended to be limited to a particular network type.Any network type, wired or wireless, fixed or transient,circuit-switched, packet-switched or other network architectures, may beused to implement the present invention.

[0037] In the description that follows, the invention will be describedwith reference to acts and symbolic representations of operations thatare performed by one or more computing devices, unless indicatedotherwise. As such, it will be understood that such acts and operations,which are at times referred to as being computer-executed, include themanipulation by the processing unit of the computer of electricalsignals representing data in a structured form. This manipulationtransforms the data or maintains it at locations in the memory system ofthe computer, which reconfigures or otherwise alters the operation ofthe computer in a manner well understood by those skilled in the art.The data structures where data is maintained are physical locations ofthe memory that have particular properties defined by the format of thedata. However, while the invention is being described in the foregoingcontext, it is not meant to be limiting as those of skill in the artwill appreciate that various of the acts and operations describedhereinafter may also be implemented in hardware.

[0038] The invention allows a constant connectivity between members of asmall and intimate group, recreating in the virtual world many of therelationship types that users foster in their physical world existence.The members of a group supported by the invention are capable offriendly or unfriendly interaction, intense or casual interaction,falling out, falling in love, or any other way of being with each otherthat is possible through close communication in a small group.

[0039] In accordance with one aspect of the invention, an applicationprogram is represented by a desktop icon through which a group membercan communicate and interact with other online members of the group.This group is persistent through the range of activities offered by theapplication program, and the members of the group are kept abreast ofgroup activities through notifications and activity indicators. It willbe appreciated that the use of the term “desktop” and “desktop icon” arenot intended to limit the invention to a traditional desktop display.The term “desktop” as used herein includes its traditional meaning inthe computer arts, but does not exclude other types of visual displayspaces on devices ranging from watches to desktop computers.

[0040] In one embodiment of the invention, the group members communicatethrough a peer-to-peer connection. This peer-to-peer technology, whichis well known in the art, focuses on the group members' individualcomputers, and organizes communication within the group without the needfor a central server. In general, when a message, file or othercommunication is propagated through the group, each group member is incommunication with at least one other member of the group (but notnecessarily every member of the group). The group member from which thecommunication is originating informs those members of the group withwhich it is connected that a communication is ready to be transmitted,and then those members of the group inform the other members of thegroup with which they are connected and so on, until every member of thegroup has received the communication.

[0041] For example, in FIG. 1B, the group member C has a skateboardericon that he or she wishes to share with the rest of his or her group,comprised of computers A through G. The lines in the Figure representthe logical connections between the various computers, so that A isconnected to B, B is connected to A, C and D, C is connected to B, D isconnected to B, E and G, E is connected to D and F, F is connected to E,and G is connected to D. The arrows represent the route by which theskateboarder icon will be sent through this peer-to-peer network toarrive at each computer in the group. The originating group member Cfirst informs B that an icon is ready to be transferred, and transfersthe icon to B when B requests it. B then notifies A and D that an iconis ready to be transferred, and then transfers the icon to A and D, andso on through the peer-to-peer network. In this way, the icon is rapidlytransferred to each computer on the network without the need for acentral server to store the icon and then allow access to the icon fromevery computer.

[0042] To increase the peer-to-peer group's efficiency, each computer inthe group also stores “common files” in a database that is kept currentwith the other members' databases in the group. This database can bekept current in many different ways. In one implementation, whenever aparticular computer changes the database, it can propagate these changesto the other computers in the peer-to-peer network using the transferprocedures described above. Alternatively, the computers in the groupmight automatically update their databases after a certain time periodpasses, checking the computers in logical connection with them for newerversions of the database. While peer-to-peer technologies have a numberof advantages, including independence from a central server and oftenbetter resource utilization, the present invention can also beimplemented using a central server system, a hybrid system, or othernetworking technology.

[0043] To form the contemplated groups, members are added by invitationfrom a current member, and can only remove themselves. That is, currentmembers cannot be ejected from the group. This particular communitystructure encourages the growth of a trusted relationship between themembers of a small and intimate group and prevents unchecked groupexpansion or the infiltration of unknown, and perhaps unwelcome members.In an Internet-based environment especially, a more public group mightgrow too large and unwieldy for the more intimate communicationscontemplated by this invention. To add a new member to a group, a groupmember, in one implementation, searches a public directory (such asMicrosoft's MSN Messenger's directory, or other directory) to find thecontact and computer information necessary for an invitation. Aninvitation is subsequently sent to that prospective member using anexisting protocol or program, such as Microsoft's MSN Messenger. If theinvitation is accepted, the new member of the group, if the new memberdoes not already have the program, manually or automatically downloadsthe program application implementing the functionality of thisinvention, such as from a public server, and proceeds to connect to thegroup using peer-to-peer technologies.

[0044] Other implementations may provide differently for adding groupmembers. So, for example, the group application might be included withan operating system, and upon registration of the operating system theuser is also registered in a database of available prospective members.In yet another implementation, the inviting member of the group sends apassword to a prospective member using existing protocols, and thatpassword can be used along with the program application to connect withthe group.

[0045] Once a group has been formed, each online member of the group cansee the group icon representing their shared connection resident on hisor her desktop or other display space, as shown in FIG. 2. In thisexample, Bubba, Eugene and John are members of a group represented by amouse icon 207(1), (2), (3) described below, which is on each member'srespective desktop, 201, 203, 205. This mouse icon 207(1), (2), (3)behaves in many respects like other, more familiar visually renderedicons or objects, to facilitate group interaction: it is draggable, itcan accept drop targets and it is anchored to the desktop or displayspace. Taking up less room than most application programs, theapplication encourages group members to remain online in communicationwith the group regardless of their foreground activities. Thisunobtrusive setting also enables users to have multiple group icons ontheir desktops, representing different relationships that a user mighthave with different groups. In addition, a user may be online to somegroup or groups and offline to another group or groups as one form ofsocial management.

[0046] Giving further context to the group's interactions, a group iconis not a static entity but can encapsulate any of a number ofrelationships, as shown in FIG. 3. Any member of the group can changethe group icon, and have that change propagated to the other members'desktops. So, using the example in FIG. 2, if Bubba changes the mouseicon to the skateboarder icon 301 shown in FIG. 3, Eugene and John willhave their group icon changed to a skateboarder icon 301 in oneembodiment. In one implementation, the number of different icons islimited to those packaged with the invention or approved by adistributor. In this example, the skateboarder icon 301 wouldnecessarily be included with the group application. When Bubba changeshis icon to the skateboarder icon 301, a request is immediately sent toEugene's and John's computers that their icons also be changed to theskateboarder icon 301, and that request is granted automatically iftheir computers are online, or granted later, when their computers comeonline. Alternatively, the application might allow user-defined iconswith associated user-defined actions. Assuming that the skateboardericon 301 did not, in fact, come packaged with the application, Bubba'scomputer now sends the files necessary to describe the skateboarder icon301, in addition to a request for an icon change to Eugene's and John'scomputers. These icons provide a frame through which group members canunderstand their relationship and interactions. Using this visual,non-verbal communication, group members begin to build theirrelationship and sense of group culture based on shared characteristicsand identity. FIG. 3 shows other examples of potential program icons303, 305 that can communicate the differing roles of the various groupsin which a member is participant.

[0047] Interacting with the group icon will be a familiar and easyprocess for most computing device users. In one implementation, doubleclicking performs a network action propagated to the other members ofthe group, and clicking the right mouse button brings up a menu, similarto that shown in FIG. 4 at menu 401. From this menu 401, the groupmember has the ability to interact with the other members of the groupin a number of ways, such as changing the icon through the Change Wireoption 413, sending a file through the Send File option 415, or sendingother communications through the Launch option 411. The user also hasaccess to other program functions through this menu, such as Help 417,Delete 419 and Close 421. In an embodiment of the invention, Delete 419removes the user from the group and removes the group permanently fromtheir desktop. In a further embodiment of the invention, Close 421simply means to close out of the group—meaning the user is no longeronline to that group but could be online to other groups as discussedabove. When a user closes a group they appear offline to the group anddo not receive greetings or notifications. By implementing this groupfunctionality using accessible, familiar and compact interfaces, theapplication is more likely to remain open and available on groupmember's desktops and displays.

[0048] When the members of a group are online and running thisapplication, they have the ability to interact, as a group, in a nearlyunlimited number of ways. Although a number of activities are describedbelow, these activities are simply representative and are not meant tobe limiting of the scope of this invention. Using different programmodules that can interact with the described application, any activitythat can be implemented in code and shared by a group of differentlylocated users can be implemented within the invention.

[0049] In one embodiment, when one member of the group double-clicks onthe group icon, a greeting is sent to every online member of the group.This greeting can include a verbal message, audio and a visual effect,and informs the other members of the group that someone has interactedwith the group icon. Additionally, as shown in FIG. 5, different actions(e.g. click combinations, etc.) performed on the group icon mightrepresent different emotional states that a group member wants to sharewith the group. By performing a first action on his or her group icon,the group member can express his or her happiness and interact with thegroup to provide further explanation (501). Similarly, the group membermight perform a second action on the icon, expressing disappointment oranger at some event (503). Every online member will receive anindication pursuant to the action, creating a shared emotionalexperience. So, for example, performance of a first action on theskateboard icon 301 shown in FIG. 2 could make the skateboarder performa trick on each member's desktop. Instead of indicating an emotionalstate, the user might just want to inform the other group members thatsomeone in the group wants to interact in some activity with the group,or might simply want to let the other members know that he or she isthinking of the group. This simple and efficient communication creates ashared, unique dialogue between members of the group, akin to an insidejoke or secret language.

[0050] The above communication is quite simple, and provides groupmembers with a more unique and personal interaction, the applicationallows group members, within this embodiment, to send individuallydefined greetings to each other. When a particular group member wishesto let the group know that he or she is online or to inform the group ofsome event, the group member can design or select a greeting and send itto each member of the group, as described in FIG. 6A.

[0051] The first step, not shown in FIG. 6A, is the design of agreeting. According to the format chosen for the greeting, a groupmember can use a number of different programs, including a drawingprogram to design an image, a text program to construct a message and ananimation program to design a suitable animation. Alternatively, theinvention provides in an embodiment an interactive greeting maker,whereby the functionalities of many of these programs are combined tofurther facilitate the member's task. The large number of variables thatcombine in a greeting allow a particular member to easily make agreeting that is essentially unique, and that will adequately identifythat member for the group.

[0052] After creating an appropriate greeting, the group member can senda greeting notification to the group at a time that the group memberchooses, according to step 610. In the peer-to-peer infrastructuredescribed above, this greeting notification would be forwarded to eachmember of the group, stemming from the notification originating with thesending group member. In one implementation, the sending group member'scomputer has assigned an ID (preferably automatically), unique to thegroup's greetings, to the particular greeting of the sending groupmember, and that ID will be sent out along with the greetingnotification, which is sent at step 620. When a different group memberreceives the notification along with the ID, that group member'scomputer will search its peer-to-peer database for the greetingassociated with that ID, as shown at step 630. If the greeting is not,in fact, stored on that computer, the file or files describing thegreeting (including a file or files having text, visual and/or audiodata) must first be sent to that user before the greeting can bedisplayed, as shown at steps 640 and 650. It is worth noting thatwhenever a user changes his or her greeting, the ID should be updated toreflect that the file or files needed by the other group members havechanged. In addition, once the necessary file or files have beendownloaded a first time by a particular group member and stored in thepeer-to-peer database, the only network traffic required to send thatgroup member the greeting is the relatively small notification includingthe sending group member's ID. The file or files will then remain in thereceiving user's shared database to increase the efficiency of thiscommunications system.

[0053] For an example of the above-described and alternativeimplementations, in FIG. 6B, the group member on computer A (601) has anew greeting that he or she wishes to send to the other members of thegroup. In the above-described peer-to-peer embodiment, represented bythe solid lines, the other computers in the group, B (603) through E(609), each have a peer-to-peer database, in which are stored a numberof greetings and associated IDs. When A (601) sends this new greeting, A(601) first sends to each computer the newly generated ID associatedwith the greeting. Since A (601) has just designed this new greeting,the other computers in the group will reply with requests for the filesrepresenting the new greeting. In one implementation, the computers B(603) through E (609) will begin sending periodic requests to thecomputers with which they are logically connected for the filesassociated with the particular greeting ID that was originally forwardedto them. Thus, B (603) and C (605) will request the files from A (601),and once those files are transferred, D's request of B (603) for thefiles will be fulfilled, and finally E's request of D (607) for thefiles will be fulfilled. In other implementations, A (601) could receiverequests for the files associated with the greeting from each computer.Computer A (601) would then package the files, indicate all of thecomputers that have requested the files, and send the files to everycomputer with which A (601) is logically connected. The files would thenget routed through the peer-to-peer network to arrive at the computersthat originally requested them. This implementation is especially suitedfor use when most of the computers in the group have received the newgreeting, but a few have not.

[0054] In other embodiments, member-defined greetings can be stored on acentral server 611 and sent to each group member's computer each timethere is a greeting notification, or cached on each group member'scomputer and updated from the central group server 611 when appropriate.In these implementations, represented in FIG. 6B with the dotted lines,a group server 611 acts as a repository for the group's greetings. WhenA (601) wishes to send a new greeting to the group, A (601) first sendsthe group server 611 the ID for the greeting. When the server 611notifies A (601) that it has no greeting corresponding to that ID, A(601) sends the group server 611 the files corresponding to thatgreeting. These greeting files are then transmitted to every member ofthe group except for A (601). These files can then simply be displayedby the group members, or they can also be cached on each group member'scomputer, so that the group server need only send the ID the next time A(601) wishes to send that same greeting. In an alternative embodiment ofthe invention, files may be sent to and received from the server whilenotifications are executed via peer-to-peer communications.

[0055] By sending an individualized greeting to every member of thegroup, a group member can express his or her individuality and at thesame time express and engender a sense of community. As in moretraditional social settings, the greeting, group icon, and presence andactivity notification options reflect a balance between individualismand group activities and interactions. Depending on which alternative ischosen, the group member can send different signals to the group in acomplex, non-verbal communication.

[0056] These novel means of communication are also complemented withmore robust, traditional methods of communication, like chatting forums.As shown in FIG. 7, the members of a group can chat with each other in afamiliar text-based way through their implementations of the invention.If a particular group member wants to chat with the group, that groupmember can open a group space 701 through the group icon's menu optionsopened by the Launch option 411 in the menu 401 in FIG. 4. Once a groupspace 701 is opened, an invitation will be sent to each online groupmember, and the group space is opened and a group interaction will beenabled. In one embodiment, each online group member can accept ordecline this request to join the group in the group space 701, but thechat initiator is unable, in an embodiment, to choose between groupmembers when sending the simultaneous invitation. As with the otheractivities described herein, the group chat is necessarily group, notindividual, oriented, and therefore contributes to the sense of acommunity and shared experiences.

[0057] In one implementation, interactions in the group space 701 areimplemented using peer-to-peer technologies. In this framework, forexample, one group member sends a text message along with a group memberidentifier to those group members with which that group member islogically connected, and those group members automatically forward themessage to those other group members with which they are logicallyconnected, and so on until the message has been replicated through theentire group. The text message is then automatically displayed on eachgroup member's computer in a group window 701. In other implementations,the text messages may be sent directly to a central server, from whicheach group member receives updates whenever a new text message is sent.In a further embodiment of the invention, server communications andpeer-to-peer communications may be used together in a hybrid fashion asdescribed above.

[0058] Another example of a group activity that is facilitated by thisinvention is a group audio play activity, in which group members listento audio being played in a substantially synchronous manner on eachgroup member's computer. As shown in FIG. 8, this group audio playactivity 801 can be carried out concurrently with the group spacefunction 803 described above or with other activities. In order to startthe group audio play activity 801, one of the group members chooses thegroup audio play activity 801 from the icon's menu, as for examplethrough the Launch option 411 on the menu 401 shown in FIG. 4. Once thegroup audio play activity has been chosen, that group member's computerdisplays the module 801 that coordinates this activity, and the othermembers of the group receive an invitation to participate in thisactivity. If a group member chooses to participate, the group audio playprogram is also displayed on his or her computer. The group audio playactivity 801 allows every participating member of the group to listen tothe same audio work and interact with the same audio work play list atsubstantially the same time. Every member of the group has the abilityto change the order of the audio works in the play list, to add audiowork to the play list, to delete audio work from the play list, and tocontrol the operation of the group audio player 801. As with offlineinteractions, the group is thereby able to listen to audio workstogether while at the same time engaging in various conversations andother activities.

[0059] The icon, 400 of FIG. 4, can also be used as a launching pointfor sharing files with the group. So, for example, any group member cansend a picture, text, or other data file to every interested member ofthe group with one action. Each member of the group has the ability toignore or accept the file transfer request, but in many situations mayinitially ignore a file transfer request and later accept it if he orshe changes his or her mind. The only files available to the group fordownloading are those files chosen by a particular group member to sendto the other members of the group. While many of the same files maybecome duplicated on each member's computer, no group member hasunlimited access generally to files on another group member's computer.Note that group history is maintained such that users can retrieve andmanage files being sent during their online session. The group historyfeature embodies two non-synchronous activities, namely browsing grouphistory and managing files. Users can also preferably see what greetingswere missed while they were offline as well as what new members havejoined the group. When a user subsequently logs out, their group historymay be cleared.

[0060] In order to share a particular file with the rest of the group, agroup member has the choice of two methods shown in the flowchart onFIG. 9. The simpler of the two methods, as shown at step 940, takesadvantage of the desktop object characteristics inherent in thisapplication. Using the existing functionality of many desktop operatingsystems, an icon representing the shared file can be dragged over theapplication icon (element 400 of FIG. 4) and dropped. Once the mousebutton has been released, the file transfer process will begin. The morecumbersome of these methods allows the group member to open theapplication's menu, menu 401 in FIG. 4, in step 910, such as by a rightclick as described above, choose the Send File menu option (as shown inFIG. 4, element 415), step 920, and then select the file, step 930. Theapplication's menu 401 can be opened using mouse clicks or keyboardshortcuts. Once the Send File menu option 415 is chosen, the applicationwill once again exploit underlying operating system functionality tobrowse through the files stored on the user's computer to find the filethat the group member wishes to share. In one implementation, once thisfile has been selected for sharing, the sharing group member also hasthe opportunity to send a text message describing the file to the restof the group members.

[0061] Once sent, the file transfer request is responded to by theonline group members, as shown in step 950. The online group members aregiven the choice of receiving the file or ignoring the file transferrequest. If a group member denies the request, the request notificationdisappears and the application icon fades to the background, as shown instep 970. If, on the other hand, a group member accepts the request, thefile is transferred and opened or saved according to the group member'schoice, as shown at step 960. The method of file transfer is similar tothat described above with respect to transfer of greeting files in anembodiment. Group history allows a user to ignore the notification afterwhich the notification will itself fade or disappear. However, the usercan later accept the file transfer from the group history during thesame online session.

[0062] As an example of the file transfer process, assume in onepeer-to-peer implementation, on a network similar to that shown in FIG.1B, computer C sends a file transfer request to every online groupmember. In this example, assume that only E responds positively to therequest. E, not knowing on what computer the file is stored, sends anaffirmative response to the two computers, D and F, with which it has alogical connection. D, which is not sharing this particular file,forwards this affirmative response to computers B and G. B, which is notsharing this particular file, forwards this affirmative response to Cand A. C, which is the sharing computer, receives the responseoriginating at E and proceeds to send the file. There are alternativeimplementations of the precise path taken by this file. In oneimplementation, each computer sends the file to the computer thatforwarded it the response. Thus, B will receive the file from C, D fromB and finally E from D. In another implementation, each computer sendsthe file to every computer that it is logically connected with. Whilethe former implementation seems less resource-intensive, when not everycomputer in the peer-to-peer network responds to the file transferrequest immediately, it might be helpful to have copies of the fileresident on each group member's computer until the request is ignored.In yet another implementation, a logical connection could be formedbetween E and C, by either of the two computers. This logical connectioncould then be used to transfer the file and subsequently closed toeliminate duplicative and unnecessary network branches. In a centralserver implementation, in a network similar to that shown by the dottedline in FIG. 6B, a computer, A (601) in this case, could upload a sharedfile to the group server 611. The group server 611 would then forward afile transfer request to B (603) through E (609). If any group memberresponds affirmatively to the file transfer request, the file could bedownloaded from the group server 611. After all interested group membershave downloaded the file, the group server 611 could either keep thefile in the group's database, or delete it to save space.

[0063] Most significantly, for each of the above-described activities,the same group participates. As long as a member is online, that membercan be a participant in a large number of shared activities, building asense of intimate, shared connections with the other members of thegroup. Note that different groups can have different activitiesavailable to them. For example, a user may have one group space with anaudio activity and a journal activity, and another group space that hasonly a game activity.

[0064] According to an embodiment of the invention, a temporary, perhapsless intimate, grouping may be provided, similar to a party. Inparticular, invited individuals would receive an invitation to attend anevent, i.e. to join a temporary group, preferably at a specified time,so that the attendees can mingle and get to know other attendees better.In a further embodiment, the group space wherein the temporary groupmeets may display a plurality of threads or conversation spaces, ratherthan just one, so that users can drift between conversations, and movefrom one attendee to another, much like a party in the physical world.All attendees are in the same space, but a number of smaller groups mayform within that space.

[0065] Another aspect of an embodiment of the invention lies in the wayin which each member of the group learns of the group's activities.There are a number of different notifications, more or less intrusive,by which members are invited to join in different activities, or canjoin in activities that are already in progress. By keeping groupmembers constantly apprised of the group's activities, the overall senseof presence is heightened, and members are encouraged to participatewith the group. In addition, the intrusive nature of some of thenotifications makes the group more interactive and more difficult toignore. Practically, this will often result in a situation where thosemembers that are available to the rest of the group are more willing toparticipate in group activities.

[0066] The least intrusive notifications are greetings and other actionsthat require less interaction. Since these activities are less likely torequire a great deal of attention, in most implementations, a greetingwill be given only a limited time on a group member's screen, and willnot require a great deal of interaction from that group member. In oneimplementation, shown in the time diagram of FIG. 10 with respect to agreeting, a group member receiving a greeting will first be shown thegreeting in the foreground as shown at state 1001, regardless of whatother applications he or she is running. This foreground greeting 1001will then fade out, as shown at state 1003, after a predetermined amountof time, such as five seconds, and a resting image will remain as shownat state 1005. This resting image, a semi-transparent representation ofthe gesture notification, will also eventually disappear, after 20seconds for example and be made available in the group's history in casethe user missed it or wants to see it again during their online session.In other implementations, the greeting might remain in the foregrounduntil the group member clicks on it, or brings another application tothe foreground again. These greetings thereby inform the group membersof group activity without demanding significant attention.

[0067] Other activity notifications require more interaction,corresponding to the importance of the activity. So, for example, in oneimplementation shown in FIG. 11, a file transfer request 1101 may bemore intrusive, meaning that an online group member is “forced” tointeract with the icon before returning to any other applications. Suchforcing need not be completely preclusive of other activities, as withmany dialog boxes and so forth sometimes employed in application design.For example, an icon may stay in the foreground longer, or not fade, orfade over a longer period of time, so that the user feels more of a needto interact with the icon. This file transfer request need not beaccepted, however, due to network constraints, and a desire to have filetransfers completed as promptly as possible, it is desirable that thegroup member inform the group whether or not he or she will bedownloading this file as quickly as possible. Similarly, chatting andgroup audio play invitations might also be more intrusive, attracting asignificant amount of a group member's attention away from his or herother applications. These invitations are intrusive because they arefundamentally more interactive activities, and members would often wishto be kept better informed of these interactions. In one implementation,a group member can control the level of intrusiveness of a particularnotification through a settings menu or otherwise, such that certaingroups and activities in which that group member is less likely toparticipate will have less intrusiveness.

[0068] Finally, even if a group member was unavailable to participate inan activity, or originally rejected an invitation to participate, thatgroup member can discover what activities the group is participating inusing the group status notification bar, element 1203 in FIG. 12,located below the group icon. As shown in FIG. 12, this bar 1203displays icons representing different activities in which members of thegroup are engaged. In the present example, members of the CoolDudesgroup are participating in a group audio play activity (represented byan earphone icon 1205) and sharing files with each other (represented bya folder icon 1207). In one implementation, when the group member'smouse is held over the group icon, a rollover bubble is displayedshowing the status of the members of the group as well as the activitiesthat the group is participating in, also shown in FIG. 12 as list 1201.By interacting with the group icon (by clicking on the icon representingthe activity in list 1201 or opening a menu, shown as menu 401 in FIG.4), the group member can begin participating in these activities,although he or she missed or ignored the initial request to join in theactivity. This functionality allows a group member to be kept constantlyapprised of the group's activity, and enables that group member toparticipate in any ongoing activity. The invention uses and forwards, inan embodiment, the presence information from a chatting program to allgroup members, even if some of those members are not on the user's buddylist. Thus, a user can keep track of people with whom he or she does nothave a direct relationship.

[0069] It will be appreciated that a novel means of communicating with agroup through a network connection represented by an icon on each groupmember's desktop or other display space has been described. Thisconstant link to a small and relatively static group of friends willenable group members to build a unique sense of community and sharedrelationship as they participate in various activities with each other.

[0070] In view of the many possible embodiments to which the principlesof this invention may be applied, it should be recognized that theembodiments described herein with respect to the drawing figures aremeant to be illustrative only and should not be taken as limiting thescope of invention. For example, those of skill in the art willrecognize that the elements of the illustrated embodiments shown insoftware may be implemented in hardware and vice versa or that theillustrated embodiments can be modified in arrangement and detailwithout departing from the spirit of the invention. Therefore, theinvention as described herein contemplates all such embodiments as maycome within the scope of the following claims and equivalents thereof.

We claim:
 1. A system for communicably linking a first user of a firstcomputing device having a first display to a group of users of computingdevices, the group having at least one member comprising a second userof a second computing device having a display, the system comprising incombination: a rendered desktop on the display of the first computingdevice; a selectable group icon visibly rendered on the desktop, thegroup icon being associated with the group of users of computing deviceswhereby selection of the group icon by the first user initiatestransmission of a communication over a network from the first computingdevice to the group of users with the first user not being required tospecify the identity of a member of the group of users during or afterselection.
 2. The system according to claim 1, wherein the selectablegroup icon displays a group status gathered automatically prior toselection of the group icon by the first user.
 3. The system accordingto claim 2, wherein the group status comprises an indication of at leastone activity in which one or more members of the group are currentlyengaged.
 4. The system according to claim 2, wherein the group statuscomprises an indication of whether each of the group of users iscurrently connected to the network.
 5. The system according to claim 3,wherein the transmission is adapted to allow the first user toparticipate in the at least one activity in which the group is currentlyengaged.
 6. The system according to claim 1, wherein the group icon is adrag and drop target such that dropping of a dragged file icon onto thegroup icon initiates transfer of a file associated with the file icon tothe computing devices of the group of users.
 7. The system according toclaim 1, wherein the network comprises multiple peer-to-peerconnections.
 8. The system according to claim 7, wherein at least one ofthe multiple peer-to-peer connections omits the first computing deviceas a direct endpoint.
 9. The system according to claim 1, wherein thenetwork comprises a group server communicably linkable to the firstcomputing device and to each of the computing devices of the group ofusers.
 10. The system according to claim 1, wherein a visual appearanceof the selectable group icon is modifiable by a modifying user, beingone user from among the first user and the group of users, so that amodification of the appearance of the selectable group icon by themodifying user is propagated to a copy of the selectable group iconlocated on the display of the computing devices of the others of thegroup of users and the first user.
 11. The system according to claim 1,wherein the communication over the network comprises one or more typesof material selected from the group consisting of audio information andvisual information.
 12. The system according to claim 11, wherein thevisual information comprises animated material.
 13. The system accordingto claim 11, wherein the visual information comprises video material.14. The system according to claim 1, wherein the communication over thenetwork comprises a textual message.
 15. The system according to claim1, wherein transmission of the communication over the network from thefirst computing device to the group of users causes a visual indicationto appear on the display of the second computing device in an opaquestate and to transform after a predetermined period of time to atransparent state.
 16. The system according to claim 1, whereintransmission of the communication over the network from the firstcomputing device to the group of users causes a visual indication toappear on the display of the second computing device in a dominantstate, whereby the second user must interact with the visual indicationprior to performing any other action on the display of the secondcomputing device.
 17. A method of communicating from a first user of afirst computing device, having a display associated therewith, to agroup of computing device users, each being a user of a computing devicehaving a respective display associated therewith, the group of computingdevice users comprising at least a second user, the method comprising:presenting a visual group icon to the first user on the display of thefirst computing device, the group icon being associated with the groupof computing device users; receiving an activation of the group icon bythe first user; in response to receiving an activation of the group iconby the first user, sending a communication over a network connectionfrom the first computing device to the computing devices associated withthe group of computing device users.
 18. The method according to claim17, wherein presenting a visual group icon to the first user on thedisplay of the first computing device further comprises presenting agroup status.
 19. The method according to claim 18, wherein the groupstatus discloses an activity in which one or more members of the groupof computing device users is currently engaged.
 20. The system accordingto claim 18, wherein the group status discloses whether each of thegroup of users is currently connected to the network.
 21. The systemaccording to claim 17, wherein sending a communication over the networkconnection comprises sending an indication to the computing devicesassociated with the group of computing device users that the first userwishes to participate in an activity in which one or more members of thegroup of computing devices are currently engaged.
 22. The systemaccording to claim 17, wherein receiving an activation of the group iconby the first user comprises receiving an indication that the user hasdropped a file icon onto the group icon, and wherein sending acommunication over the network connection from the first computingdevice to the computing devices associated with the group of computingdevice users comprises sending an indication that a file associated withthe file icon is available to be transferred to the computing devicesassociated with the group of computing device users.
 23. The methodaccording to claim 17, wherein the network is of a type selected fromthe group consisting of a peer-to-peer network and a network having acentral server.
 24. The method according to claim 17, wherein a visualappearance of the group icon is modifiable by the first user so that amodification of the appearance of the group icon by the first user ispropagated to a copy of the group icon located on the display of thecomputing device associated with second user.
 25. The method accordingto claim 17, wherein sending the communication over a network comprisessending over the network information having one or more types selectedfrom the group consisting of audio information, video information,animated information, and textual information.
 26. The method accordingto claim 25, wherein sending the communication over a network furthercomprises sending over the network information sufficient to cause avisual indication to appear on the display of the second computingdevice in an opaque state and to transform after a predetermined periodof time to a transparent state.